// SPDX-License-Identifier: GPL-2.0+
/dts-v1/;

#include "aspeed-g5.dtsi"
#include <dt-bindings/gpio/aspeed-gpio.h>

/ {
	model = "Qualcomm Centriq 2400  REP AST2520";
	compatible = "qualcomm,centriq2400-rep-bmc", "aspeed,ast2500";

	chosen {
		stdout-path = &uart5;
		bootargs = "console=ttyS4,115200 earlyprintk";
	};

	memory@80000000 {
		reg = <0x80000000 0x40000000>;
	};

	iio-hwmon {
		compatible = "iio-hwmon";
		io-channels = <&adc 0>, <&adc 1>, <&adc 2>, <&adc 3>,
                        <&adc 4>, <&adc 5>, <&adc 6>, <&adc 8>;
	};

	iio-hwmon-battery {
		compatible = "iio-hwmon";
		io-channels = <&adc 7>;
	};

	leds {
		compatible = "gpio-leds";

		uid_led {
			label = "UID_LED";
			gpios = <&gpio ASPEED_GPIO(Q, 5) GPIO_ACTIVE_LOW>;
		};

		ras_error_led {
			label = "RAS_ERROR_LED";
			gpios = <&gpio ASPEED_GPIO(F, 6) GPIO_ACTIVE_LOW>;
		};

		system_fault {
			label = "System_fault";
			gpios = <&gpio ASPEED_GPIO(A, 1) GPIO_ACTIVE_LOW>;
		};
	};
};

&fmc {
	status = "okay";
	flash@0 {
		status = "okay";
		m25p,fast-read;
		label = "bmc";
#include "openbmc-flash-layout.dtsi"
	};
};

&spi1 {
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_spi1_default>;
	flash@0 {
		status = "okay";
	};
};

&spi2 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_spi2ck_default
			&pinctrl_spi2miso_default
			&pinctrl_spi2mosi_default
			&pinctrl_spi2cs0_default>;
};

&uart3 {
	status = "okay";

	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_txd3_default &pinctrl_rxd3_default>;
	current-speed = <115200>;
};

&uart5 {
	status = "okay";
};

&mac0 {
	status = "okay";

	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_rgmii1_default &pinctrl_mdio1_default>;
};

&i2c0 {
	status = "okay";
};

&i2c1 {
	status = "okay";

	tmp421@1e {
		compatible = "ti,tmp421";
		reg = <0x1e>;
	};
	tmp421@2a {
		compatible = "ti,tmp421";
		reg = <0x2a>;
	};
	tmp421@4e {
		compatible = "ti,tmp421";
		reg = <0x4e>;
	};
	tmp421@1c {
		compatible = "ti,tmp421";
		reg = <0x1c>;
	};
};

&i2c2 {
	status = "okay";
};

&i2c3 {
	status = "okay";
};

&i2c4 {
	status = "okay";
};

&i2c5 {
	status = "okay";
};

&i2c6 {
	status = "okay";

	tmp421@1d {
		compatible = "ti,tmp421";
		reg = <0x1d>;
	};
	tmp421@1f {
		compatible = "ti,tmp421";
		reg = <0x1f>;
	};
	tmp421@4d {
		compatible = "ti,tmp421";
		reg = <0x4d>;
	};
	tmp421@4f {
		compatible = "ti,tmp421";
		reg = <0x4f>;
	};
	nvt210@4c {
		compatible = "nvt210";
		reg = <0x4c>;
	};
	eeprom@50 {
		compatible = "atmel,24c128";
		reg = <0x50>;
		pagesize = <128>;
	};
};

&i2c7 {
	status = "okay";
};

&i2c8 {
	status = "okay";

	pca9641@70 {
		compatible = "nxp,pca9641";
		reg = <0x70>;
		i2c-arb {
			#address-cells = <1>;
			#size-cells = <0>;
			tmp421@1d {
				compatible = "tmp421";
				reg = <0x1d>;
			};
			adm1278@12 {
				compatible = "adi,adm1278";
				reg = <0x12>;
				Rsense = <500>;
			};
			eeprom@50 {
				compatible = "atmel,24c02";
				reg = <0x50>;
			};
			ds1100@58 {
				compatible = "ds1100";
				reg = <0x58>;
			};
		};
	};
};

&i2c9 {
	status = "okay";
};

&vuart {
	status = "okay";
};

&gfx {
	status = "okay";
};

&pinctrl {
	aspeed,external-nodes = <&gfx &lhc>;
};

&gpio {
	pin_gpio_c7 {
		gpio-hog;
		gpios = <ASPEED_GPIO(C, 7) GPIO_ACTIVE_HIGH>;
		output;
		line-name = "BIOS_SPI_MUX_S";
	};
};
